#include <include/vertex.hpp>

Vertex::Vertex(){
    this->neighbours = new std::vector<Vertex*>();
}

Vertex::Vertex(int id) {
    this->id = id;
    this->neighbours = new std::vector<Vertex*>();
}

int Vertex::getId() {
   return this->id;
}

Vertex::State Vertex::getState() {
    return this->state;
}

void Vertex::setState(State state) {
    this->state = state;
}

bool Vertex::operator()(const Vertex * first, const Vertex * second) {
    if(first->id <= second->id) {
        return true;
    } else {
        return false;
    }
}

void Vertex::addNeighbour(Vertex * vertex) {
    this->neighbours->push_back(vertex);
}

std::vector<Vertex*> * Vertex::getNeighbours() {
    return this->neighbours;
}
